import {deepCopy} from "@/utils";

export default {
  name: 'MiddlePriceMixin',
  data(){
    return {
      defaultMiddleGeneral: {
        weight: 0, // 重量
        price: 0, // 价格
      }, // 送仓单价 常规
      defaultMiddleExpress: {
        weight: 0, // 重量
        price: 0, // 价格
      }, // 送仓单价 快递
    }
  },
  methods:{
    // 添加送仓常规
    addMiddleGeneral(middlePriceGeneral) {
      middlePriceGeneral.push(deepCopy(this.defaultMiddleGeneral))
    },
    // 添加送仓快递
    addMiddleExpress(middlePriceExpress) {
      middlePriceExpress.push(deepCopy(this.defaultMiddleExpress))
    },
    // 移除某个重量范围
    removeArrItemByIndex(arr, index){
      arr.splice(index,1)
    },
    checkMiddleGeneral(middleGeneralPrice){
      if(middleGeneralPrice.length === 0){
        this.$errorMessage('请至少填写一个送仓单价（常规）')
        return false;
      }
      const weight = []; // 校验是否有重复的商品重量
      const flag = middleGeneralPrice.some(item=>{
        // 没填的数值默认为0
        item.weight = item.weight ? item.weight : 0;
        item.price = item.price ? item.price : 0;
        if(weight.indexOf(item.weight) !== -1){
          return true
        }else{
          weight.push(item.weight)
          return false
        }
      })
      // 校验没通过代表有相同的重量
      if(flag){
        this.$errorMessage('送仓单价（常规）存在相同的体积重')
        return false;
      }
      return true
    },
    checkMiddleExpress(middleGeneralPrice){
      if(middleGeneralPrice.length === 0){
        this.$errorMessage('请至少填写一个送仓单价（快递）')
        return false;
      }
      const weight = []; // 校验是否有重复的商品重量
      const flag = middleGeneralPrice.some(item=>{
        // 没填的数值默认为0
        item.weight = item.weight ? item.weight : 0;
        item.price = item.price ? item.price : 0;
        if(weight.indexOf(item.weight) !== -1){
          return true
        }else{
          weight.push(item.weight)
          return false
        }
      })
      // 校验没通过代表有相同的重量
      if(flag){
        this.$errorMessage('送仓单价（快递）存在相同的体积重')
        return false;
      }
      return true
    },
  }
}
